BASE64:PHN1Yzpub3RlbmFtZT7niLHlpYfoibogLSDnvo7liac8L3N1Yz4NCjxzdWM6bGFuZ3VhZ2U+dXRmLTg8L3N1Yz4NCjxzdWM6bWFjdGh0eXBlPnJlZ2V4PC9zdWM+DQo8c3VjOmNvc29ydD5kZXNjPC9zdWM+DQo8c3VjOnNlcnZlcl9pZD4xPC9zdWM+DQo8c3VjOnBsYXllcj5pcWl5aTwvc3VjPg0KPHN1YzpjYXRfaWQ+Nzwvc3VjPg0KPHN1Yzp2YXJ1cmw+aHR0cDovL2xpc3QuaXFpeWkuY29tL3d3dy8yLzE4LS0tLS0tLS0tLS0tNS0xLVtwYWdlXS0xLS0tLmh0bWw8L3N1Yz4NCjxzdWM6dmFyc3RhcnQ+MTwvc3VjPg0KPHN1Yzp2YXJlbmQ+Mzwvc3VjPg0KPHN1YzphZGR2PjE8L3N1Yz4NCjxzdWM6bGlzdHVybD48L3N1Yz4NCjxzdWM6cGFnZXJlcGFkPjwvc3VjPg0KPHN1YzpsaW5rYXJlYT48dWwgaWQ9InJzIiBjbGFzcz0idWxMaXN0IHI0ICI+WyEtLW1lLS1dPC91bD48L3N1Yz4NCjxzdWM6bmVlZD4uaHRtbDwvc3VjPg0KPHN1YzpjYW5ub3Q+PC9zdWM+DQo8c3VjOnRpdGxlPnt0aXRsZSA6ICJbIS0tbWUtLV0iPC9zdWM+DQo8c3VjOnRpdGxlX3RyaW0+PC9zdWM+DQo8c3VjOmFjdG9yPm1haW5BY3RvcnMiOlxbWyEtLW1lLS1dXF08L3N1Yz4NCjxzdWM6YWN0b3JfdHJpbT57c3VjOnRyaW19Insvc3VjfTwvc3VjPg0KPHN1YzpkaXJlY3Rvcj5kaXJlY3RvcnMiOlxbIlshLS1tZS0tXSI8L3N1Yz4NCjxzdWM6ZGlyZWN0b3JfdHJpbT48L3N1Yz4NCjxzdWM6c2F2ZXBpYz4xPC9zdWM+DQo8c3VjOmltYWdlPnR2UGljdHVyZVVybCI6IlshLS1tZS0tXSI8L3N1Yz4NCjxzdWM6aW1hZ2VfdHJpbT48L3N1Yz4NCjxzdWM6cHViZGF0ZT5pc3N1ZVRpbWUiOlshLS1tZS0tXSI8L3N1Yz4NCjxzdWM6cHViZGF0ZV90cmltPjwvc3VjPg0KPHN1YzpzdGF0dXM+Y3VycmVudE1heEVwaXNvZGUiOlshLS1tZS0tXSw8L3N1Yz4NCjxzdWM6c3RhdHVzX3RyaW0+PC9zdWM+DQo8c3VjOmFyZWE+576O5Zu9PC9zdWM+DQo8c3VjOmFyZWFfdHJpbT48L3N1Yz4NCjxzdWM6bGFuZz7oi7Hor608L3N1Yz4NCjxzdWM6bGFuZ190cmltPjwvc3VjPg0KPHN1YzpkZXRhaWw+dHZEZXNjIjoiWyEtLW1lLS1dIjwvc3VjPg0KPHN1YzpkZXRhaWxfdHJpbT48L3N1Yz4NCjxzdWM6cnVucGhwPjE8L3N1Yz4NCjxzdWM6dXJsPjwvc3VjPg0KPHN1Yzp1cmxfdHJpbT48L3N1Yz4NCjxzdWM6cnVucGhwX2NvZGU+JHNwdGFnID0gJ1shLS1tZS0tXSc7DQppZiAoc3RycG9zKEBib2R5LCAnPGEgY2xhc3M9InBpY19jdXIiJykgIT09IGZhbHNlKSB7DQogICAgDQogICAgJGFyZWFSdWxlID0gJzxhIGNsYXNzPSJwaWNfY3VyIiBocmVmPSJbIS0tbWUtLV0iJzsNCn0NCmVsc2VpZiAoc3RycG9zKEBib2R5LCAnPGRpdiBjbGFzcz0ianoiPjxhIGhyZWY9IicpICE9PSBmYWxzZSkgew0KICAgICRhcmVhUnVsZSA9ICc8ZGl2IGNsYXNzPSJqeiI+PGEgaHJlZj0iWyEtLW1lLS1dIic7DQp9DQplbHNlIHsNCiAgICAkYXJlYVJ1bGUgPSAnJzsNCn0NCiRsaW5rID0gZ2V0X2h0bWxfc3BsaXQoJHNwdGFnLCAkYXJlYVJ1bGUsIEBib2R5KTsNCmlmIChzdHJwb3MoJGxpbmssICd3d3cucWl5aS5jb20nKSkgew0KICAgICRsaW5rID0gc3RyX3JlcGxhY2UoJ3d3dy5xaXlpLmNvbScsICd3d3cuaXFpeWkuY29tJywgJGxpbmspOw0KfQ0KJGNvbnRlbnRzID0gZmlsZV9nZXRfdXJsKCRsaW5rKTsNCnByZWdfbWF0Y2hfYWxsKCIjPGxpIHZpZD0nKFswLTlhLXpdKiknPiNpc1UiLCAkY29udGVudHMsICRtYXRjaGVzKTsNCg0KJHZpZHMgPSAkbWF0Y2hlc1sxXTsNCiR2aWRMZW5ndGggPSBjb3VudCgkbWF0Y2hlc1sxXSk7DQokbmFtZSA9ICfnrKwlc+mbhkBAJXMnOw0KZm9yKCRpPTA7ICRpIDwgJHZpZExlbmd0aDsgJGkrKykgew0KICAgICRkID0gJGkrMTsNCiAgICBpZiAoJGk8IDEwKSB7DQogICAgICAgICR2aWQgPSBzcHJpbnRmKCRuYW1lLCAnMCcuJGQsICR2aWRzWyRpXSk7DQogICAgfWVsc2Ugew0KICAgICAgICAkdmlkID0gc3ByaW50ZigkbmFtZSwgJGQsICR2aWRzWyRpXSk7DQogICAgfQ0KICAgICR1cmxzIC49ICR2aWQuIlxuIjsNCn0NCkBtZSA9ICR1cmxzOzwvc3VjPg0K:END